﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Chapter14.Code05.Code01
{
    using System.Runtime.InteropServices;

    public class Demo
    {
        public static void Begin()
        {
            {
                int var1 = 1, var2 = 2;
                RemoteCall(var1, var2, null, null, null, null, null);
            }
            {
                int var1 = 1, var2 = 2;
                RemoteCall(var1, var2);
            }
            {
                string sentence = "sentence";
                List<string> words = GetWords(sentence, false);
            }
            {
                bool CapitalizationDefault = false;
                string sentence = "sentence";
                List<string> words = GetWords(sentence, CapitalizationDefault);
            }
        }

        public static void RemoteCall(int? var1, int? var2, int? var3, int? var4, int? var5, int? var6, int? var7)
        {

        }

        public static void RemoteCall(int? var1, int? var2)
        {

        }

        private static List<string> GetWords(string sentence)
        {
            return GetWords(sentence, false);
        }

        private static List<string> GetWords(string sentence, bool capitalizeWords = false)
        {
            return null;
        }

        private static List<string> GetWordsOptional(string sentence, [Optional]bool capitalizeWords, [Optional]bool upper)
        {
            return null;
        }
    }
}
